/**
 * 格式化前时间
 * date => '2019-03-02 15:23:25'
 * @return {string}
 */
export default function formatDate (date, fmt = 'yyyy-MM-dd hh:mm:ss') {
  const dateMap = {
    'M+': date.getMonth() + 1, // 月份
    'd+': date.getDate(), // 日
    'h+': date.getHours(), // 小时
    'm+': date.getMinutes(), // 分
    's+': date.getSeconds(), // 秒
    'q+': Math.floor((date.getMonth() + 3) / 3), // 季度
    S: date.getMilliseconds() // 毫秒
  }
  if (/(y+)/.test(fmt)) {
    fmt = fmt.replace(RegExp.$1, `${date.getFullYear()}`.substr(4 - RegExp.$1.length))
  }
  Object.entries(dateMap).forEach(([key, value]) => {
    if (new RegExp(`(${key})`).test(fmt)) {
      const valueStr = String(value)
      const replace = RegExp.$1.length === 1
        ? valueStr
        : `00${valueStr}`.substr(valueStr.length)
      fmt = fmt.replace(RegExp.$1, replace)
    }
  })
  return fmt
}
